From: Jan Beulich Date: Tue, 5 Jul 2016 09:17:53 +0000 (+0200) Subject: x86emul: fold local variables X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~830 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=fea586d801f75317cb8cf593e8beba842391da62;p=xen.git x86emul: fold local variables Declare some variables to they can be used by multiple pieces of code, allowing some figure braces to be dropped (which don't align nicely when used inside of case labeled statements). Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c index 271901ca2b..fe594ba895 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -3561,6 +3561,8 @@ x86_emulate( case 0xf6 ... 0xf7: /* Grp3 */ switch ( modrm_reg & 7 ) { + unsigned long u[2], v; + case 0 ... 1: /* test */ goto test; case 2: /* not */ @@ -3599,15 +3601,15 @@ x86_emulate( _regs.edx = (uint32_t)(dst.val >> 32); break; #endif - default: { - unsigned long m[2] = { src.val, dst.val }; - if ( mul_dbl(m) ) + default: + u[0] = src.val; + u[1] = dst.val; + if ( mul_dbl(u) ) _regs.eflags |= EFLG_OF|EFLG_CF; - _regs.edx = m[1]; - dst.val = m[0]; + _regs.edx = u[1]; + dst.val = u[0]; break; } - } break; case 5: /* imul */ dst.type = OP_REG; @@ -3643,20 +3645,18 @@ x86_emulate( _regs.edx = (uint32_t)(dst.val >> 32); break; #endif - default: { - unsigned long m[2] = { src.val, dst.val }; - if ( imul_dbl(m) ) + default: + u[0] = src.val; + u[1] = dst.val; + if ( imul_dbl(u) ) _regs.eflags |= EFLG_OF|EFLG_CF; if ( b > 0x6b ) - _regs.edx = m[1]; - dst.val = m[0]; + _regs.edx = u[1]; + dst.val = u[0]; break; } - } break; - case 6: /* div */ { - unsigned long u[2], v; - + case 6: /* div */ dst.type = OP_REG; dst.reg = (unsigned long *)&_regs.eax; switch ( dst.bytes = src.bytes ) @@ -3703,10 +3703,7 @@ x86_emulate( break; } break; - } - case 7: /* idiv */ { - unsigned long u[2], v; - + case 7: /* idiv */ dst.type = OP_REG; dst.reg = (unsigned long *)&_regs.eax; switch ( dst.bytes = src.bytes ) @@ -3754,7 +3751,6 @@ x86_emulate( } break; } - } break; case 0xf8: /* clc */